package cn.fl.audit.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.audit.dto.AudGuarPassOpDTO;
import cn.fl.audit.vo.AudGuarPassOpVO;

 /**
 * @Description: 信审担保人通过意见 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class AudGuarPassOpVOTransform {


	/**
	 * DTO 转  VO
	 * @param po AudGuarPassOpDTO
	 * @return AudGuarPassOpVO
	 */
	public static AudGuarPassOpVO toVO(AudGuarPassOpDTO dto) {
		AudGuarPassOpVO  vo = null;
		if (dto != null) { 
			vo = new AudGuarPassOpVO();
			vo.setId(dto.getId());
			vo.setOpId(dto.getOpId());//通过意见ID
			vo.setPrjId(dto.getPrjId());//项目ID
			vo.setGuarId(dto.getGuarId());//担保人ID
			vo.setGuarNm(dto.getGuarNm());//担保人名称
			vo.setGuarTypCd(dto.getGuarTypCd());//担保人类型
			vo.setCreditInfo(dto.getCreditInfo());//法人/自然人- 信审资料
			vo.setQualificationsInfo(dto.getQualificationsInfo());//法人/自然人- 资质情况
			vo.setAssetsProveCd(dto.getAssetsProveCd());//法人/自然人- 资产证明
			vo.setBizInfo(dto.getBizInfo());//法人- 从事业务
			vo.setResearchReport(dto.getResearchReport());//自然人- 调查报告显示
			vo.setRelationshipCd(dto.getRelationshipCd());//法人/自然人- 与承租人关系
			vo.setBadRecordInfo(dto.getBadRecordInfo());//法人/自然人-不良情况
			vo.setCourtsEnforceInfo(dto.getCourtsEnforceInfo());//法人/自然人-法院执行情况
			vo.setFulfilCd(dto.getFulfilCd());//法人/自然人- 履行职责 1-愿意  2-不愿意
			vo.setBizDesc(dto.getBizDesc());//法人/自然人- 从事工作/主营业务
			vo.setGuarantorAssetsCd(dto.getGuarantorAssetsCd());//法人/自然人- 担保人资产实力1-良好 2-一般 3-较差

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			
			vo.setGuarTypCdNm(dto.getGuarTypCdNm());
			vo.setAssetsProveCdNm(dto.getAssetsProveCdNm());
			vo.setRelationshipCdNm(dto.getRelationshipCd());
			vo.setFulfilCdNm(dto.getFulfilCdNm());
			vo.setGuarantorAssetsCdNm(dto.getGuarantorAssetsCdNm());
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto AudGuarPassOpVO
	 * @return AudGuarPassOpDTO
	 */
	public static AudGuarPassOpDTO toDTO(AudGuarPassOpVO vo) {
		AudGuarPassOpDTO dto = null;
		if (vo != null) {
			dto = new AudGuarPassOpDTO();
			dto.setId(vo.getId());
			dto.setOpId(vo.getOpId());//通过意见ID
			dto.setPrjId(vo.getPrjId());//项目ID
			dto.setGuarId(vo.getGuarId());//担保人ID
			dto.setGuarNm(vo.getGuarNm());//担保人名称
			dto.setGuarTypCd(vo.getGuarTypCd());//担保人类型
			dto.setCreditInfo(vo.getCreditInfo());//法人/自然人- 信审资料
			dto.setQualificationsInfo(vo.getQualificationsInfo());//法人/自然人- 资质情况
			dto.setAssetsProveCd(vo.getAssetsProveCd());//法人/自然人- 资产证明
			dto.setBizInfo(vo.getBizInfo());//法人- 从事业务
			dto.setResearchReport(vo.getResearchReport());//自然人- 调查报告显示
			dto.setRelationshipCd(vo.getRelationshipCd());//法人/自然人- 与承租人关系
			dto.setBadRecordInfo(vo.getBadRecordInfo());//法人/自然人-不良情况
			dto.setCourtsEnforceInfo(vo.getCourtsEnforceInfo());//法人/自然人-法院执行情况
			dto.setFulfilCd(vo.getFulfilCd());//法人/自然人- 履行职责 1-愿意  2-不愿意
			dto.setBizDesc(vo.getBizDesc());//法人/自然人- 从事工作/主营业务
			dto.setGuarantorAssetsCd(vo.getGuarantorAssetsCd());//法人/自然人- 担保人资产实力1-良好 2-一般 3-较差

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
			
			dto.setGuarTypCdNm(vo.getGuarTypCdNm());
			dto.setAssetsProveCdNm(vo.getAssetsProveCdNm());
			dto.setRelationshipCdNm(vo.getRelationshipCd());
			dto.setFulfilCdNm(vo.getFulfilCdNm());
			dto.setGuarantorAssetsCdNm(vo.getGuarantorAssetsCdNm());
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param List<AudGuarPassOpDTO>
	 * @return List<AudGuarPassOpVO>
	 */
	public static List<AudGuarPassOpVO> toVOList(List<AudGuarPassOpDTO> list) {
		List<AudGuarPassOpVO>  voList = new ArrayList<AudGuarPassOpVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (AudGuarPassOpDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<AudGuarPassOpVO>
	 * @return List<AudGuarPassOpDTO>
	 */
	public static List<AudGuarPassOpDTO> toDTOList(List<AudGuarPassOpVO> list) {
		List<AudGuarPassOpDTO>  dtoList = new ArrayList<AudGuarPassOpDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (AudGuarPassOpVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
